Social graphs using shared personal data

ABSTRACT

Social graphs using shared personal data are described, including techniques for capturing data from a social data source (e.g., a social network service or website, or a professional network service or website), determining one or more connections associated with a connection target (e.g., an item for purchase, rent or sale) using the data, and creating a social graph using the one or more connections, the social graph comprising the one or more connections associated with the connection target (e.g., an item such as a vacation rental). Embodiments of the invention also include techniques for creating or updating (e.g., include in or add to) a social graph based on receiving an access request including update data, for example.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Nonprovisional PatentApplication Ser. No. 13/230,752, filed Sep. 12, 2011, and entitled“Social Graphs Using Shared Personal Data”, Application Ser. No.13/230,752 claims the benefit of U.S. Provisional Patent Application No.61/522,667, filed Aug. 11, 2011, and entitled “Social Graphs UsingShared Personal Data,” all of which is herein incorporated by referencein their entirety for all purposes.

FIELD

The present invention relates generally to software and electroniccommerce. More specifically, techniques associated with social graphsusing shared personal data are described.

BACKGROUND

Consumers consult many sources of information when searching for itemsof interest to rent or buy, including the vast Internet. However, themajority of consumers still trust recommendations from people they knowand opinions (e.g., reviews, ratings, comments, etc.) by others withcommon attributes (e.g., place of residence, place of vacation, groupaffiliations, hobbies, etc.) over all other types of information to helpthem make decisions with regard to high risk transactions (e.g.,involving large dollar amounts). A person's social networks (e.g.,networks maintained on social or professional networking websites) canbe used to rapidly grow both demand and supply for the rental or sale ofan item, particularly a high-priced item, by reducing the fear andhassle of dealing with strangers.

Conventional electronic commerce techniques for marketing and promotionof items for rent or sale typically include a listing of the item, e.g.,on a marketing or promotion website, with information about the item.Such information may include features and photos of the item. Forinstance, a vacation rental listing may include information about thevacation rental property's size (e.g., bedrooms, bathrooms, squarefootage, etc.) and location (e.g., street address, nearby landmarks,etc.). The listing may include photos of the property, inside and out.The listing may even include reviews of the property by past guests.However, these conventional techniques for marketing and promotion ofitems for rent or sale do not provide a direct and organized method fora user to find information about the items that are owned by, used by,rented by, reviewed by, or otherwise connected to, people in theirsocial networks. While reviews from strangers may be helpful, they arenot nearly as helpful as reviews from people users know (e.g., familymembers, friends, co-workers, acquaintances, etc.). These conventionaltechniques fail to leverage the power of a consumer's social networks,particularly social networks created and maintained on social orprofessional networking services and websites (hereinafter “SNS”), tomore effectively market items for rent or sale.

On the other hand, SNS, including Facebook®, Twitter®, Google+®,LinkedIn®, and others, provide a venue for users to maintain theirsocial networks and share information about items they've purchased orrented, and even post reviews. However, these services are gearedprimarily toward the creation and maintenance of social networks, andare not designed to provide users with the capability to search for andfind trusted and vetted listings of items for sale or rent. Forinstance, when an SNS user posts a status update, link, picture, ortweet, indicating a purchase or rental (e.g., vacation rental), evenincluding a review or comment about the item purchased or rented, thatstatus update, link, picture or tweet is virtually lost as time passesand new status updates, links, pictures and tweets are posted. Later on,when another user that is in their network begins searching for asimilar item to purchase or rent, it is difficult, if not impossible, todirectly reference the prior post. As such, SNS do not offer owners andsellers the ability to create a standing and readily searchable referralnetwork for items for rent or sale based upon personal data sharedthrough SNS, nor do they provide renters and buyers a time independentmethod for searching for items to buy or rent using their trustedpersonal connections.

Thus, what is needed is a technique for marketing of items for rent orsale without the limitations of conventional techniques.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings:

FIG. 1 illustrates an exemplary system for creating, storing and usingsocial graphs for marketing items for sale or rent;

FIG. 2 illustrates an exemplary process for including connectioninformation in a social graph associated with an item for sale or rent;

FIG. 3 illustrates an exemplary table for storing connection informationin a social graph associated with an item for rent or sale;

FIG. 4 illustrates an alternative exemplary table for storing connectioninformation in a social graph associated with an item for rent or sale;

FIG. 5 illustrates an exemplary representation of a social graph for anitem for rent or sale;

FIG. 6 illustrates an exemplary computer system suitable for creating,storing and using social graphs for marketing items for rent or sale.

DETAILED DESCRIPTION

Various embodiments or examples may be implemented in numerous ways,including as a system, a process, an apparatus, a user interface, or aseries of program instructions on a computer readable medium such as acomputer readable storage medium or a computer network where the programinstructions are sent over optical, electronic, or wirelesscommunication links. In general, operations of disclosed processes maybe performed in an arbitrary order, unless otherwise provided in theclaims.

A detailed description of one or more examples is provided below alongwith accompanying figures. The detailed description is provided inconnection with such examples, but is not limited to any particularexample. The scope is limited only by the claims and numerousalternatives, modifications, and equivalents are encompassed. Numerousspecific details are set forth in the following description in order toprovide a thorough understanding. These details are provided for thepurpose of example and the described techniques may be practicedaccording to the claims without some or all of these specific details.For clarity, technical material that is known in the technical fieldsrelated to the examples has not been described in detail to avoidunnecessarily obscuring the description.

In some examples, the described techniques may be implemented as acomputer program or application (“application”) or as a plug-in, module,or sub-component of another application. The described techniques may beimplemented as software, hardware, firmware, circuitry, or a combinationthereof. If implemented as software, the described techniques may beimplemented using various types of programming, development, scripting,or formatting languages, frameworks, syntax, applications, protocols,objects, or techniques, including Java™, Javascript™, Ruby, Rails, C,Objective C, C++, C#, Adobe® Integrated Runtime™ (Adobe® AIR™)ActionScript™, Flex™, Lingo™, Ajax, Perl, COBOL, Fortran, ADA, XML,MXML, HTML, DHTML, XHTML, HTTP, XMPP, and others. Design, publishing,and other types of applications such as Dreamweaver®, Shockwave®,Flash®, and Fireworks® may also be used to implement the describedtechniques. The described techniques may be varied and are not limitedto the examples or descriptions provided.

FIG. 1 illustrates an exemplary system for creating, storing and usingsocial graphs for marketing items for sale or rent. System 100 mayinclude social graph engine 102, SNS data module 104, social graphmodule 106, database 108, SNS 110-112, other social data 114, andmarketing service 116. Each of SNS 110-112 may be a social orprofessional networking service (hereinafter “SNS”) (e.g., Facebook®,Twitter®, Google+®, LinkedIn®, etc.). Other social data 114 may includeother sources of social marketing or shared personal data, e.g.,provided by marketing data services, that may be linked to a personallyidentifiable information (e.g., name, electronic mail address(hereinafter “e-mail address”), telephone number, drivers licensenumber, other identification number, etc.).

In some examples, social graph engine 102 may be configured to receivean inquiry relating to an item for sale or for rent from a source. Forexample, the source may be a user of (e.g., a visitor to, a member of,etc.) marketing service 116. The inquiry may include access information(e.g., login associated with an SNS, and in some cases, an option toallow access to personal or social data maintained with the SNS)providing social graph engine 102 access to social data associated withthe source of the inquiry. Using the access information, SNS data module104 may gather social data from SNS 110-112, or from other social data114. In other examples, SNS data module 104 may gather social data frommore or fewer SNS. In still other examples social graph engine 102 mayobtain social data through other means (not shown), e.g., manual datainput, by tracking a source's browsing behavior, etc. In some examples,this social data may include a list identifying friends of the source,groups to which the source belongs, the source's hometown, the source'scurrent location, the source's educational institution affiliations, thesource's work affiliations, and the source's other affiliations. Inother examples, the social data may include other information.

In some examples, social graph module 106 may be configured to use thesocial data gathered by SNS data module 104 to create or update (i.e.,include in or add to) a social graph associated with an item for sale orrent. As used herein, a “social graph” refers to a network ofconnections (e.g., owner(s), buyers, renters (i.e., guests), serviceproviders (e.g., architects, designers, builders, structural engineers,electricians, plumbers, gardeners, handymen, etc.), friends of an owner,friends of a buyer, friends of a renter, friends of friends, etc.)associated with, or attached to, an item. These connections comprise oneor more relationships associating a person with the item. For example, asocial graph associated with a property for rent may includeidentifications of such connections as the property owner, past guests,reviewers, service providers, friends of the owner, friends of pastguests, friends of friends, etc. By mapping the source's social data,which may include their connections to other people among other sharedpersonal information, to connections associated with an item for sale orrent, the item may be marketed using a trusted and vetted item listingshowing how other users known to the source are connected to the item,and hence how the source is connected to the item.

Social graph module 106 may use additional information from differentinputs to create or update social graphs. In some examples, informationmay be entered by the source, or by other users, using forms, fields,menus, widgets, or other input methods on a website. For example, a usermay create a listing for an item by identifying the item and addinginformation about the item, including the user's connection to the item.This listing information may be used by social graph module 106 tocreate a social graph for the item. The user may invite other users toindicate their connection to the item, and when the other users indicatetheir connection to the item, social graph module 106 may use that inputto update the social graph for the item.

For example, an owner of a vacation rental property may create a listingfor the property and indicate her ownership relationship with theproperty. The owner may input this information through marketing service116, or through another online listing service for marketing andsearching for vacation rental properties (not shown). The owner mayinput or upload information about the property for rent, including anidentification of the property (e.g., address, type (e.g., house,condominium, hotel room, etc.), etc.), a description of the property(e.g., number of bedrooms or bathrooms, number of stories, amenities,accessibility, surrounding features (e.g., beach, lake or river,neighborhood, restaurant/shopping districts, etc.), etc.), pictures ofthe property, and other information related to the property. In someexamples, marketing service 116 may request that the owner create or usea login prior to using the service. Social graph module 106 may use theinformation related to the property to create a social graph for theproperty. This social graph may be stored in database 108.

In some examples, social graph module 106 may subsequently update thesocial graph for the property with additional information andconnections entered later by the owner or other users. For example, theowner may have friends that are already users (e.g., members) ofmarketing service 116, as well as friends that are not members.Marketing service 116 may provide tools for the owner to invite pastguests, service providers, friends and other people in her social orprofessional networks to use marketing service 116 and to indicate theirconnections to the property. These tools may enable the owner to entercontact information (e.g., e-mail addresses, telephone numbers, etc.)for these people, to which marketing service 116 may then sendinvitations to visit marketing service 116 and to indicate theirconnection to the property and/or to the owner. These tools may furtherenable the owner to track whether the invitations are accepted or not.

In some examples, the invitation may include a link for the recipient tonavigate to marketing service 116. In some examples, marketing service116 may request that the recipient create or use a login prior to usingthe service. Once logged in, marketing service 116 may connect therecipient to the property by providing the recipient identification andconnection information to social graph engine 102. Marketing service 116also may collect a rating, review, comment, or other input about theproperty from the recipient. This additional input may be used by socialgraph module 106 to update the social graph further. In some examples,this additional input may be provided to the owner. In other examples,the owner may designate an administrator, co-owner or property manager,to monitor and update the listing on marketing service 116. Theinformation provided by the administrator also may be used to update thesocial graph for the listing.

The social graphs created or updated by social graph module 106 may bestored in database 108. Database 108 may be managed by a databasemanagement system (DBMS) (e.g., MySQL®, SQL Server®, Oracle®, etc.).Exemplary representations of, and exemplary schemas for organizing andstoring, social graphs are described in more detail below.

In some examples, social graph engine 102 may be configured to providefeedback messages or notifications authorized by, and associated with,the source to SNS 110-112. In an example, social graph engine 102 mayoutput notifications or messages related to the source's connection toan item for which social graphs exist in database 108. The notificationsor messages may include photos or pictures of the item, a link to alisting or review (i.e., the source's review) of the item, a personalmessage from the source associated with the item, or other informationassociated with the item or the source's connection to the item. Thenotifications or messages also may be associated with actions by thesource associated with the item (e.g., recommending the item, indicatingthe source likes the item, indicating the source is a fan of the item,commenting on the item, reviewing the item, etc.). For instance, thesource may be connected as a friend of an owner of a vacation rentalproperty. A notification or message about this connection may be postedto SNS 110-112 available for the source's friends, acquaintances,professional network, etc., to view (e.g., posted to a Facebook® wall,as a tweet on Twitter®, as LinkedIn® status update, etc.).

In some examples, SNS data module 104 and social graph module 106 may beimplemented as part of social graph engine 102. In other examples, oneor the other of SNS data module 104 and social graph module 106 may beimplemented separately. Database 108 may be implemented separately fromsocial graph engine 102, as shown, or it may be implemented as part ofsocial graph engine 102 (not shown). Different functions and operationsbeyond those described herein may be performed using system 100. Thenumber, type, function, configuration, or features of system 100 and theabove-described elements may be varied and are not limited to theexamples provided.

FIG. 2 illustrates an exemplary process for including connectioninformation in a social graph associated with an item for rent or sale.Process 200 may be implemented as an exemplary process for creating orupdating a social graph associated with an item for rent or sale (e.g.,as listed on marketing service 116) using a new member's social data. Insome examples, process 200 may begin with receiving a membership requestfrom a source. In some examples, the source may be a user of marketingservice 116 that has not yet set up a login (e.g., a username andpassword, or selected an option to sign up using a login correspondingto an SNS to which the user is already a member (e.g., using the user'sFacebook® login), etc.) or provided permission to access their socialdata, for example, as maintained on their SNS account or a marketingdata service. In some examples, the membership request may be madethrough a marketing service website, for example marketing service 116,for the types of items for rent or sale of interest to the source. Forexample, the source may be interested in searching for vacation rentalproperties, and marketing service 116 may be a vacation rental listingwebsite. In order to access the services of marketing service 116, thesource may visit the website and set up a login to request membershipaccess to those services. After the membership request is received, arequest may be made for permission from the source to access social dataassociated with the source (204). The social data being requested may bemaintained by an SNS (e.g., Facebook®, Twitter®, Google+®, LinkedIn®,etc.) in the source's already existing account with the SNS. Whenpermission to access the source's social data is granted, the socialdata is collected (206), for example by SNS data module 104, describedabove. Then, using the social data, connections between the source anitem for rent or sale (e.g., offered on marketing service 116) may bedetermined (208), for example by social graph module 106. For example,the social data may indicate that the source is a friend of anothermember of marketing service 116, and that other member has a connection(e.g., an ownership relationship, a past guest relationship, a serviceprovider relationship, a reviewer relationship, a recommenderrelationship, etc.) with an item for rent or sale. The source is thenconnected to the item through the other member through a friendrelationship (e.g., as a friend of the owner, a friend of the pastguest, a friend of the service provider, a friend of the reviewer, afriend of the recommender, etc.). This connection may then be includedin a social graph associated with the item (210).

In some examples, if the source does not grant permission, a terminationmessage is presented (212). For example, the termination message mayindicate that such permission is necessary to proceed. In this example,the source may be directed back to the membership request location(e.g., webpage, portal, etc.) (214). In other examples, the terminationmessage may indicate a different message, and the source may be directedto a different location.

FIG. 3 illustrates an exemplary table for organizing connectioninformation in a social graph associated with an item for rent or sale.As shown, table 300 may include the columns Connection Type 302,Property 304, Connection source 306, Connector 308, Friend Connectee310, and Friend-of-Friend (“FoF”) Connector 312, as well as rows314-328. Connection type 302 may include the values Owns, Friend Owns,FoF Owns, Reviewed, Friend Reviewed, FoF Reviewed, Stayed and FriendStayed. Property 304 may include Prop_id: 1, corresponding to the itemfor rent or sale. Connection source 306 may include Property: 1 andReview: 1, corresponding to the sources of the connection (e.g., aproperty listing, a review, etc.). Connector 308, friend connectee 310and FoF connector 312 may include User values (e.g., User: Sam, User:Sally, User: Fred, User: John, User: Jill, User: Jack, User: Bill,etc.), corresponding to members, or a null value (e.g., None). The rowseach represent a connection. For example, Row 314 comprises theconnection type Owns, the property Prop_id: 1, the connection sourceProperty: 1, the connector User: Sam, friend connectee User: Sam, and noFoF connector. In this example, Row 314 may represent, for the propertycorresponding to Prop_id: 1, that the user Sam is the owner. Row 316 mayrepresent, for the same property, that the user Sally is a friend ofSam, the owner. Row 318 may represent, for the same property, that userFred is a friend of Sally, who in turn is a friend of Sam, the owner,and thus Fred is a FoF of the owner. Row 320 may represent, for the sameproperty, that there is a review by user John. Row 322 may represent,for the same property, that Jill is a friend of John, the reviewer. Row324 may represent, for the same property, that user Jack is a friend ofJill, who in turn is a friend of John, the reviewer, and thus Jack is aFoF of the reviewer. Row 326 may represent, for the same property, thatuser Bill is a past guest. Row 328 may represent, for the same property,that user Jack is a friend of Bill, the past guest. In other examples,table 300 may be implemented such that a null value may exist in thecolumn friend connectee 310 where the connector has a directrelationship with the property. In still other examples, table 300 mayinclude additional, fewer or different rows indicating additionalconnections.

FIG. 4 illustrates an alternative exemplary table for storing connectioninformation in a social graph associated with an item for sale or rent.As shown, table 400 may include the columns Purchase Influence 402,Actor (Relationship) 404, Connection Type 406, Connection Target 408,Shown to 410, Creates “Personal” connection for 412, as well as rows414-432. In some examples, Purchase Influence 402 may include anumerical value (e.g., numerical values 1-6) corresponding to a weightassociated with the likelihood the connection, or type of connection,will influence a subsequent purchase or rental of the item for rent orsale. In some examples, this weighting may reflect a relationshipproximity to the connection target (e.g., a property). In some examples,Actor (Relationship) 404 may include values (e.g., guest, owner, fan,manager, member, service provider, etc.) corresponding to how a user hasa relationship, or otherwise interacted, with a Connection Target 408.In some examples, Connection Type 406 may include values (e.g., booked,stayed, reviewed, rated, owns, favorite, manages, serves, inquire, view,etc.) corresponding to the type of connection that the actor in that rowmay have with the connection target in that row. In some examples,Connection Target 408 may include values corresponding to an item ofinterest (e.g., a property), or group of items of interest (e.g., alocation). In some examples, Shown to 410 may include values (e.g.,public, owner, member, etc.) corresponding to the sphere of disclosure(e.g., to the public, to only the owner and the member, or to only themember, for example, through marketing service 116) associated with theconnection(s) represented in the row. In some examples, Creates“Personal” connection for 412 may include values (e.g., Guest, Guest'sFriends, friends of Friends, Groups, etc.) corresponding to the otherusers for which the connection(s) represented in the row may create apersonal connection.

For example, as represented in row 414, a guest that has booked, stayed,reviewed and/or rated a property may have a very strong purchaseinfluence (e.g., value of 1). That guest's connection to the propertymay be shown to the public, and may create personal connections for theguest, the guest's friends, the guest's FoF, or the guest's groups(e.g., clubs, educational institutions, hobby groups, etc., to which theguest is affiliated). In another example, as represented in row 416, aguest that has booked, stayed, reviewed and/or rated one or moreproperties in a location may have a very strong purchase influence(e.g., value of 1). The guest's connection to the location may be shownto the public, and may create personal connections for the guest, herfriends and her FoF. In another example, as represented in row 418, anowner that owns a property may have a fairly strong purchase influence(e.g., value of 2). The owner's connection to the property may be shownto the public, and may create personal connections for the owner, theowner's friends, the owner's FoF, and the owner's groups. In anotherexample, as represented in row 420, a fan that has indicated a propertyas her favorite may have an above average purchase influence (e.g.,value of 3). The fan's connection to the property may be shown to thepublic, and may create personal connections for the fan, the fan'sfriends, and the fan's FoF. In another example, as represented in row422, a manager that manages a property may have a relatively averagepurchase influence (e.g., value of 4). The manager's connection to theproperty may be shown to the public, and may create a personalconnection for the manager. In another example, as represented in row424, a manager that manages one or more properties in a location mayhave a relatively average purchase influence (e.g., value of 4). Themanager's connection to the location may be shown to the public, and maycreate a personal connection for the manager. In another example, asrepresented in row 426, a member that inquires about a property may havea below average purchase influence (e.g., value of 5). The member'sinquiry regarding the property may be shown to the owner and the member,and may create a personal connection for the member. In another example,as represented in row 428, a member that views a property may have abelow average purchase influence (e.g. value of 5). The member's viewingof the property may be shown to only the member, and may create apersonal connection for the member. In another example, as representedby row 430, a service provider that serves one or more properties in alocation may have a low purchase influence (e.g., value of 6). Theservice provider's connection to the location may be shown to thepublic, and may create a personal connection for the service provider,or other service providers. In another example, as represented by row432, a service provider that serves a property may have a low purchaseinfluence (e.g., value of 6). The service provider's connection to theproperty may be shown to the public, and may create a personalconnection for the service provider, or other service providers. Inother examples, the guest, owner, fan, manager, member, or serviceprovider, may create personal connections for other users in theirnetwork not shown in table 400. For example, a manager's connection to aproperty or a location may create personal connections for the manager'sfriends or FoF. In other examples, a service provider's connection to aproperty or a location may create personal connections for the serviceprovider's friends or FoF. In still other examples, table 400 mayinclude additional, fewer or different rows and columns.

The above-described tables show examples of how data associated withuser's connections with properties may be stored and organized. In stillother examples, tables may be created to store and organize other dataassociated with social graphs. For example, a table may store dataassociated with a member's total friends, including friends that aremembers and friends that are not members. In another example, a tablemay store data associated with how members are related to other members,including whether they are friends (e.g., Facebook® friends, etc.) orFoFs (e.g., connected through a mutual friend). In another example, atable may store data associated with the relationship and associatedprivileges that an owner, administrator, co-owner, or property manager,may have for a property.

FIG. 5 illustrates an exemplary representation of a social graph for anitem for rent or sale. Social graph 500 may include item 502, innergroup 504, middle group 506 and outer group 508. In some examples, item502 may be an item of interest to a potential renter or buyer. Forexample, item 502 may be a vacation rental property. In some examples,inner group 502 may represent or include the closest, and thus mostpowerful, connections to item 502. These connections may exert the mostpurchase influence on the users. For example, inner group 502 mayinclude owners, fans, guests and reviewers. In some examples, middlegroup 506 may represent or include the next closest, and still powerful,connections to item 502. These connections may exert an average ormedium purchase influence on the users. For example, middle group 506may include users with friend relationships with item 502 (e.g., friendof owner, friend of guest, friend of reviewer, friend of fan). In someexamples, outer group 508 may represent or include more tenuous, butexisting, connections to item 502. These connections still may exertsome purchase influence on the users.

In some examples, inner group 502, middle group 506, and outer group508, each may represent a relationship proximity to item 502. Thisrelationship proximity may be used to assign a weight to the connectionsin each group. The weight may be used to prioritize displays of theconnections, for example, through marketing service 116. In otherexamples, relationship proximity may be defined differently, and thusweights assigned to connections differently (not shown). For example, afirst group with the closest relationship proximity to item 502 mayinclude a member that owns, manages or listed item 502, a member thatrated item 502, a member that is a past guest of item 502, a member thatleft a comment about item 502, and a member that indicated a liking for(i.e., “liked”) item 502. In this example, a second group with the nextclosest relationship proximity to item 502 may include a friend of apast guest of item 502, a friend of a member that rated item 502, afriend of a member that left a comment about item 502, and a friend of amember that liked item 502. In this example, a third group with thethird closest relationship proximity to item 502 may include a friend ofan owner of item 502, a friend of a manager of item 502, and a friend ofan owner of item 502. In this example, a fourth group with the fourthclosest relationship proximity to item 502 may include a FoF of a pastguest of item 502, a FoF of a member that rated item 502, and a FoF of amember that left a comment about item 502. The first group has thegreatest weight, thus the connections therein may be prioritized firstwhen being displayed for other members viewing item 502 or browsing thelocation of item 502, for example, through marketing service 116. Thesecond group has the second greatest weight, and thus the connections inthe second group may have secondary priority when being displayed forother members, and so on with the remaining groups. Any of theabove-described groupings, or any other type of groupings based uponconnections in a social graph, may be used in promotions associated withan item (e.g., item 502). For example, an owner, co-owner, or propertymanager, may offer a certain discount to all members in a group forrenting item 502. In another example, an owner, co-owner, or propertymanager, may offer a different or additional discount to all members ina group that refer their friends. Many different types of promotions andincentives associated with item 502 may be offered based on the data insocial graphs.

In other examples, displays of different items of interest may also beprioritized based on weights assigned according to the quality of thelisting for the item (not shown). The quality of the listing may bedetermined by a number of factors associated with the completeness ofthe listing, including the number of connections associated with thelisting, the number and quality of photos associated with the listing,the number of recommendations, reviews, fans, comments, likes, etc.,associated with the listing. In other examples, social graph 500 may berepresented using a different graphic, with additional or fewer groupsor members of groups.

FIG. 6 illustrates an exemplary computer system suitable for creating,storing and using social graphs for marketing items for sale or rent. Insome examples, computer system 600 may be used to implement computerprograms, applications, methods, processes, or other software to performthe above-described techniques. Computer system 600 includes a bus 602or other communication mechanism for communicating information, whichinterconnects subsystems and devices, such as processor 604, systemmemory 606 (e.g., RAM), storage device 608 (e.g., ROM), disk drive 610(e.g., magnetic or optical), communication interface 612 (e.g., modem orEthernet card), display 614 (e.g., CRT, LED, LCD, plasma, OLED, etc.),input device 616 (e.g., keyboard), and cursor control 618 (e.g., mouseor trackball).

According to some examples, computer system 600 performs specificoperations by processor 604 executing one or more sequences of one ormore instructions stored in system memory 606. Such instructions may beread into system memory 606 from another computer readable medium, suchas static storage device 608 or disk drive 610. In some examples,hard-wired circuitry may be used in place of or in combination withsoftware instructions for implementation.

The term “computer readable medium” refers to any tangible medium thatparticipates in providing instructions to processor 604 for execution.Such a medium may take many forms, including but not limited to,non-volatile media and volatile media. Non-volatile media includes, forexample, optical or magnetic disks, such as disk drive 610. Volatilemedia includes dynamic memory, such as system memory 606.

Common forms of computer readable media includes, for example, floppydisk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EPROM,FLASH-EPROM, any other memory chip or cartridge, or any other mediumfrom which a computer can read.

Instructions may further be transmitted or received using a transmissionmedium. The term “transmission medium” may include any tangible orintangible medium that is capable of storing, encoding or carryinginstructions for execution by the machine, and includes digital oranalog communications signals or other intangible medium to facilitatecommunication of such instructions. Transmission media includes coaxialcables, copper wire, and fiber optics, including wires that comprise bus602 for transmitting a computer data signal.

In some examples, execution of the sequences of instructions may beperformed by a single computer system 600. According to some examples,two or more computer systems 600 coupled by communication link 620(e.g., LAN, PSTN, or wireless network) may perform the sequence ofinstructions in coordination with one another. Computer system 600 maytransmit and receive messages, data, and instructions, includingprogram, i.e., application code, through communication link 620 andcommunication interface 612. Received program code may be executed byprocessor 604 as it is received, and/or stored in disk drive 610, orother non-volatile storage for later execution.

Although the foregoing examples have been described in some detail forpurposes of clarity of understanding, the invention is not limited tothe details provided. There are many alternative ways of implementingthe invention. The disclosed examples are illustrative and notrestrictive.

What is claimed:
 1. A method, comprising: receiving, by a social graphengine, data representing an access request from a source, the accessrequest including update data; granting the access request after thesource is determined to be a member of a service receiving the accessrequest; collecting, using a social networking service data module,social data associated with the source; determining, using a socialgraph module in communication with the social networking service datamodule, a connection being associated with a relationship between thesource and a connection target using the social data, the connectiontarget including data associated with a vacation rental property forpurchase, sale, or rent, the connection represented as data stored in adatabase, the social graph module being configured to access, from thedatabase, a social graph including a network of connections associatedwith the connection target; and updating, by the social graph module,the social graph based on the update data included in the accessrequest.
 2. The method of claim 1, wherein granting the access requestfurther comprises: requesting permission for the service to use a loginfor an existing account of the source on a social networking service toaccess the social data associated with the source that is maintained bythe social networking service.
 3. The method of claim 1 and furthercomprising: including, using the social graph module, the connection inthe social graph associated with the connection target; and outputtingthe social graph to a computer system being configured to process one ormore of the receiving, the granting, the collecting, the determining, orthe updating.
 4. The method of claim 1, wherein the update datacomprises data representing browsing behavior of the source.
 5. Themethod of claim 1, wherein the update data comprises data representinginput on a website by the source.
 6. The method of claim 1, wherein thesocial networking service data module is configured to access the socialdata from a social networking service data resource, the source havingmembership in a social networking service associated with the socialnetworking service data resource.
 7. The method of claim 1, wherein theconnection comprises data representing an ownership relationship withthe connection target.
 8. The method of claim 1, wherein the connectioncomprises data representing a friend relationship with the connectiontarget.
 9. The method of claim 1, wherein the connection comprises datarepresenting a guest relationship with the connection target.
 10. Themethod of claim 1, wherein the connection is organized into datarepresenting a group.
 11. The method of claim 10, wherein the group isassigned a weight associated with data representing a relationshipproximity to the connection target.
 12. The method of claim 1, whereinthe update data comprises data representing a review associated with theconnection target.
 13. The method of claim 1, wherein the update dataincludes data indicating the source likes the connection target.
 14. Themethod of claim 1 and further comprising: providing, by the social graphengine, data representing a notification associated with the source tothe social networking service data module; and outputting, by the socialnetworking service data module, the notification to a social networkingservice data resource, the notification including the update data.
 15. Asystem, comprising: a database configured to store data, the database incommunication with a social graph module; and a processor beingconfigured to: receive data representing an access request from asource, the access request including update data; grant the accessrequest after the source is determined to be a member of a servicereceiving the access request; collect social data associated with thesource; determine a connection being associated with a relationshipbetween the source and a connection target using the social data, theconnection target including data associated with a vacation rentalproperty for purchase, sale, or rent, the connection represented as datastored in a database; access, from the database, a social graphincluding a network of connections associated with the connectiontarget; and update the social graph based on the update data included inthe access request.
 16. The system of claim 15, wherein the processorbeing further configured to: request permission for the service to use alogin for an existing account of the source on a social networkingservice to access the social data associated with the source that ismaintained by the social networking service.
 17. The system of claim 15,wherein the processor being further configured to: provide datarepresenting a notification associated with the source; and output thenotification to a social networking service data resource, thenotification including the update data.
 18. The system of claim 15,wherein the processor being further configured to: access the socialdata from a social networking service data resource, the source havingmembership in a social networking service associated with the socialnetworking service data resource.
 19. The system of claim 15, whereinthe update data comprises data representing a review associated with theconnection target.
 20. A non-transitory computer readable mediumincluding instructions being configured to perform a method comprising:receiving, by a social graph engine, data representing an access requestfrom a source, the access request including update data; granting theaccess request after the source is determined to be a member of aservice receiving the access request; collecting, using a socialnetworking service data module, social data associated with the source;determining, using a social graph module in communication with thesocial networking service data module, a connection being associatedwith a relationship between the source and a connection target using thesocial data, the connection target including data associated with avacation rental property for purchase, sale, or rent, the connectionrepresented as data stored in a database, the social graph module beingconfigured to access, from the database, a social graph including anetwork of connections associated with the connection target; andupdating, by the social graph module, the social graph based on theupdate data included in the access request.